1. Field of the Invention
The present invention relates to network communications and more particularly to facilitating services in a communication network.
2. Description of Related Art
As a general matter, it is known to provide services for subscribers over communication networks. By way of example, and without limitation, three such services are (i) establishing a “push-to-talk” session for a requesting party, (ii) multicasting an instant message from an initiating party to a defined group of other parties, and (iii) providing voice mail service for unavailable parties. Many other services exist as well or will be developed in the future, but these three services will be used as examples throughout this description. Therefore, example arrangements and operation of each of these services will first be described briefly here.
a. Initiating a Push to Talk Session
“Push-to-talk” (PTT) service, as it has come to be known, involves establishing an “instant” communication session between two or more parties over a communication network. (Note that PTT does not literally provide for “instant” (i.e., immediate) session establishment; however, the session establishment is sometimes considered “instant” in the sense that a very quick connection is usually established between the participating parties. Note also that PTT service normally concerns voice communications; but the “PTT” concept extends equally to communication of other media, such as video for instance.)
Generally, to establish such a session, a PTT server on a network establishes and bridges together communication legs among a plurality of users. To facilitate this, a PTT server normally maintains a group-database or registry that indicates groups of users who are designated to communicate with each other.
When a user wants to initiate a PTT session, the user sends an initiation request to the PTT server. In response, the PTT server refers to the group-database to identify members of that user's group (also referred to as the user's “buddies”). And the PTT server establishes a communication leg with the initiating user and respective communication legs with each identified member of the user's group and bridges those legs together so that they can communicate with each other.
PTT service is particularly well suited for wireless communications, especially where users employ wireless handsets (mobile stations) that are able to engage in packet-data communications. Under current industry standards, for instance, a “3G” mobile station can communicate over an air interface with a base transceiver station (BTS) and in turn with a base station controller (BSC). For conventional “voice” communications, the BSC is then linked with a mobile switching center, which provides connectivity to the public switched telephone network (PSTN). Further, for data communications, the BSC is also linked with a packet data serving node (PDSN), which provides connectivity with a packet-switched network such as the Internet. (In later generation wireless networks, the BTS and/or BSC may themselves sit as nodes on a packet-switched network, providing more of an end-to-end packet-based solution.)
A 3G mobile station then typically includes logic to digitize, encode and packetize voice and/or other media and to send the resulting packets over a point-to-point protocol (PPP) channel to the PDSN for transmission in turn over the packet-switched network. Similarly, the mobile station includes logic to receive packets over the PPP channel from the packet-switched network, and to depacketize and recover the underlying media and to play out the media to a user. Thus, a 3G mobile station, like a multi-media personal computer, can allow a user to engage in media-over-IP (e.g., voice-over-IP (VoIP)) communications.
To facilitate PTT service, a mobile station can be programmed with a PTT application, which, when invoked by a user, would cause a PTT initiation-signal to be sent into the network for transmission to a PTT server. The initiation signal can take any of a variety of forms. By way of example, it may be an “INVITE” request message pursuant to the industry standard session initiation protocol (SIP). According to SIP, a user-agent module on the mobile station would generate the INVITE and send the INVITE to a proxy server on the network. The INVITE might indicate generally a request for the user to engage in a PTT session. Conventionally, the SIP proxy server would then forward or “proxy” the INVITE to a suitable PTT server.
Upon receipt of the INVITE, the PTT server would then query its group database to identify members of the user's group and might then engage in SIP signaling to set up communication sessions (conference legs) with each member and with the initiating user. After setting up each leg, the PTT server would then bridge them together so that the parties can communicate with each other. This entire setup process might occur in a matter of milliseconds. Therefore, from the user perspective, the process can appear instantaneous.
b. Multicasting an Instant Message
Instant messaging (IM) service involves quickly communicating a message from a user's communication terminal to one or more other users. IM services can operate in any of a variety of ways.
As a general matter, to facilitate IM service, an IM server on a network will receive subscriptions from users requesting to be notified when other users are online and available to receive instant messages. When a user goes online, the user may send a registration message to the IM server, indicating to the IM server that the user is online and available. Thus, when the IM server receives a registration message indicating online status of a user as to whom another user has subscribed to be notified, the IM server may then notify the subscribing user accordingly.
With this arrangement, an IM user may then send an instant message to one or more other users that the sender knows are available to receive the message. According to SIP, the sending user can do this by sending a SIP “MESSAGE” to each designated other user. More particularly, the sending user would send the MESSAGE to a SIP proxy server, designating the recipient's SIP ID in the MESSAGE. The proxy server would then proxy the MESSAGE to the network address of that recipient SIP user.
To multicast an instant message to a designated group of recipients, a user might send the instant message to the IM server, and the IM server might then forward the message to members of the sender's group. As with PTT service, an IM server may thus normally maintain a group-database, which indicates groups of users who are designated to receive multicast instant messages (or other sorts of messages, for that matter) from each other or from particular users. And the IM server may refer to the group-database to determine endpoint destinations of an instant message.
Continuing with SIP as the example signaling protocol, for instance, a SIP user may send an instant message as a SIP MESSAGE to a proxy server on the network. The MESSAGE might indicate generally a request to send the message to the user's group. In response, the SIP proxy might then proxy the MESSAGE to the IM server. Upon receipt of the MESSAGE, the IM server may then query its group-database to identify members of the sender's group, and the IM server may then send the MESSAGE respectively to each available member of the group.
c. Providing Voice Mail Service
Voice mail service is exceptionally well known. Generally, when an initiating party attempts to establish a communication with a terminating party and the terminating party is unavailable, a network entity may instead establish a communication session between the initiating party and a voice mail server. The voice mail server would then play an outgoing message and receive and record a message from the initiating party. The voice mail server may then later play the recorded message to the terminating party.
SIP can be used to facilitate voice mail service as well. According to SIP, an initiating SIP user would cause an initiating user agent to send an INVITE to a proxy server, indicating a request to establish a communication session with a terminating SIP user. The proxy server would then forward that INVITE to the network address of the device where the terminating SIP user is located. With SIP, if a user agent at that terminating address does not then respond to the INVITE by sending a conventional SIP “200 OK” response message back to the proxy server within a particular time period, the proxy server might then cancel the INVITE to the terminating SIP user agent and instead forward the INVITE to a voice mail server.
Upon receipt of the INVITE, the voice mail server might then respond to the proxy server with a “200 OK,” which the proxy server would forward to the initiating user agent. In turn, the initiating user agent would then send a SIP “ACK” message to proxy server, which the proxy server would forward to the voice mail server. As a result, a media session would be established between the initiating SIP user and the voice mail server. Through that media session, the voice mail server would then play an outgoing message prompt and would receive and record a message for later retrieval by the terminating user. (In this regard, the voice mail server could interact with the caller by applying an interactive voice response unit (IVRU) or through execution of VXML applications, or in any other way desired.)